1. Field
The present disclosure relates to a system and a method for optimizing black point compensation parameters.
2. Description of Related Art
Generally, the black point compensation (BPC) function or algorithm is used for RGB images to retain shadow details in images because many images contain colors that are darker than the darkest color a printer can make. Without black point compensation, details in these shadow regions may be lost. These details may contain information the viewer knows should be there (such as, for example, the folds of a dark coat, the strands of dark hair, etc). Their absence when printed may be displeasing for a particular user.
Previous disclosures where BPC has been used have focused on parametric BPC algorithms for increasing shadow details and/or gloss reduction using look-up tables, for image dependent applications, for piece-wise multi-axis algorithms and for printing operations using multiple printing apparatus to output what is to be considered a single print job. None of these above-discussed approaches offers a process to optimize the BPC parameters so that the BPC parameters have to be manually tuned.
BPC algorithms are generally used to closely reproduce shadow details contained on images. Unfortunately, there are some cases where there is a trade-off among shadow details, highlight details, and color attributes. Therefore, the parameters in the BPC algorithm need to be tuned by means of a selection process that consists of a combination of (i) quantitative assessment, (ii) soft-proofing, and (iii) print comparison to a reference monitor system. Specifically, the general steps include generating of a set of International Color Consortium (ICC) profiles with several combinations of BPC parameters, soft-proofing images, printing images with the results obtained from the soft-proof, and selecting the BPC parameters by comparing the prints with a reference monitor. In this process, the parameters' optimization is often performed on a specific media. Therefore, robustness may be an issue in this process when other media types are used with the same parameters. Also, this process focuses on shadow details and not on how much the colors are being desaturated. Further, this process is completely manual and is very time consuming. Moreover, this process may be sub-optimal since it only considers a few combinations of the BPC parameters (i.e., depending on the number of chosen profiles).
One other approach that offers an automatic workflow, which aims at minimizing the resources used during the optimization of the BPC parameters, is provided. However, this approach only focuses on balancing both shadows details and color attributes by optimizing BPC parameters; however, the optimization process is applied offline and results in poor highlight details.
The present disclosure provides an automatic BPC parameter optimization process where the optimization process is applied online and an additional performance attribute is added to the optimization process, i.e., highlight details.
The black point compensation may generally include an input L* (input image data) to an output L* (image data to be rendered by the printer) mapping function that is used in a color management look-up table (LUT). This input L* to output L* mapping function is a parameterized quadratic or parabolic function which is used to modify the L* values of all the node colors in the multi-dimensional look-up table. The black point compensation is used as a single-valued scalar function.
The black point compensation function that retains the details in dark colors (e.g., hairs) includes two parameters: offset and slope, m. These two parameters are used to control the effects (i.e., retain darkness vs. details) in the color images.
For example, the BPC algorithm is generally implemented using the following Equation (1) for the dark region:L0*=Lp*+offset+m*Li*+n*Li*^2  (1)                where L0* is the L* output by the BPC algorithm (i.e., image data to be rendered by the printer);        Li* are the L* values obtained from an image or a group of images to be rendered;        Lp* is the minimum L* value that the printer can produce;        offset is the first tunable parameter of the BPC algorithm and can be used to adjust for the known statistics of the input image (for example, if Li* never goes to zero, it would waste dynamic range to map Li*=0 to Lp*);        m is the second tunable BPC parameter of the BPC algorithm or slope; and        n is equal to the expression        
            (              1        -        m            )        2        4    *          L              i        ⁢                                      *                      which makes the L0* curve become tangent to the identity curve (L0*=Li*) at the critical value Lc*=(1−m)/(2*n).        
For the light region (Li* greater than Lc*), the identity curve is used.
The second tunable parameter of the BPC algorithm, m is the slope of the BPC parabolic function. This parameter controls the shape of the parabola joining the identity part of the BPC curve (i.e., when Li=L0*).
FIGS. 1A-1D provide relationships between Li* and L0* for different slope and offset parameter values. Specifically, FIGS. 1A-1D show the effects of the offset parameter value and slope parameter value, m on the L0* (i.e., L* output by the BPC algorithm). Each of the graphs shown in FIGS. 1A-1D illustrates Li* (i.e., the L* value that is input to the BPC algorithm) value on a horizontal x-axis. On a vertical y-axis, each of these graphs illustrates L0* value. These curves were drawn for a printer with a Lp* value of about 12.
The graph in FIG. 1A illustrates the relationship between Li* and L0* for the offset parameter value of 0.43 and the slope parameter value of 0.13. The BPC curve in the graph in FIG. 1A has a quadratic behavior for the darker colors.
The graph in FIG. 1B illustrates the relationship between Li* and L0* for the offset parameter value of 0.43 and the slope parameter value of 0.77. The BPC curve in the graph in FIG. 1B has a more linear behavior. By comparing the graphs of FIGS. 1A and 1B, it can be realized that, as the slope parameter value is increased while keeping the offset parameter value constant, the quadratic behavior of the BPC curve changes into a linear behavior. Also, by increasing the slope parameter values, finer details may be obtained.
The graph in FIG. 1C illustrates the relationship between Li* and L0* for the offset parameter value of 2.6 and the slope parameter value of 0.13. The BPC curve in the graph in FIG. 1C has a quadratic behavior for the darker colors. By comparing the graphs of FIGS. 1A and 1C, it can be realized that the quadratic behavior of the BPC curves remains unchanged. However, an increase in the offset parameter value while the slope parameter value is maintained constant results in an increase in the darker L0* values. For example, the minimum L0* value for the graph in FIG. 1A is approximately 12, while the minimum L0* value for the graph in FIG. 1C is approximately 14.6.
The graph in FIG. 1D illustrates the relationship between Li* and L0* for the offset parameter value of 2.6 and the slope parameter value of 0.77. The BPC curve in the graph in FIG. 1D has a more linear behavior. By comparing the graphs of FIGS. 1A and 1D, it can be noticed that the quadratic behavior of the BPC curves becomes linear as the slope parameter value is increased. Also, the increase in the offset parameter value results in an increase in L0* values. For example, the minimum L* value for the graph in FIG. 1A is approximately 12, while the minimum L* value for the graph in FIG. 1D is approximately 16.24.